@Luminary
2年前 提问
1个回答

点击劫持是什么意思

趣能一姐
2年前

点击劫持(ClickJacking)是一种视觉上的欺骗手段。攻击者使用一个透明的、不可见的iframe(一种HTML标签)覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以使用户恰好点击在iframe页面的一些功能性按钮上。

点击劫持大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;二是攻击者使用一张图片覆盖在网页,遮挡网页原有位置的含义。

  • UI-覆盖攻击

    UI-覆盖攻击。它是通过覆盖不可见的iframe误导用户点击达到完成某些非用户自愿发起的操作。

    解决办法:

    使用一个HTTP头——X-Frame-Options。X-Frame-Options可以说是为了解决ClickJacking而生的,它有三个可选的值:

    DENY:浏览器会拒绝当前页面加载任何frame页面;

    SAMEORIGIN:frame页面的地址只能为同源域名下的页面;

    ALLOW-FROM origin:允许frame加载的页面地址;

  • 图片覆盖攻击

    图片覆盖攻击(Cross Site Image Overlaying),攻击者使用一张或多张图片,利用图片的style或者能够控制的CSS,将图片覆盖在网页上,形成点击劫持。当然图片本身所带的信息可能就带有欺骗的含义,这样不需要用户点击,也能达到欺骗的目的。

    解决办法:

    在防御图片覆盖攻击时,需要检查用户提交的HTML代码中,img标签的style属性是否可能导致浮出。